
/**
 * Callback method when form is (re)loaded.
 *
 * @param {JSEvent} event the event that triggered the action
 *
 * @properties={typeid:24,uuid:"A3C67E93-0479-4EB6-86CB-B30967D40F5B"}
 * @AllowToRunInFind
 */
function cargar(event) {

	controller.find()
	usuario_id = globals.gUsuarioCarga
	solucion_id = globals.gSolucionCarga
	if (controller.search() == 0)
	{
		var $rta = globals.DIALOGS.showQuestionDialog('Aviso','El usuario actualmente no esta autorizado a entrar a esta solucion. ¿Desea autorizarlo?','Si','No')
		if ($rta == 'Si')
		{
			gsolucion_gusuario_to_rel_solucion_usuario.newRecord()
			gsolucion_gusuario_to_rel_solucion_usuario.userv_id = globals.gUsrID
			//CARGO LOS FORMS
			cargarMenu()
			controller.find()
			usuario_id = globals.gUsuarioCarga
			solucion_id = globals.gSolucionCarga
			controller.search()
			dibujarTree()
			elements.tree_usuario.refresh()
		}
	}
	else
	{
		elements.bt_reiniciar.visible = true
		dibujarTree()
	}
}


/**
 * @properties={typeid:24,uuid:"6B6FE085-8BCB-45AD-BE65-DC8B6DCD866B"}
 */
function cargarMenu() {
	var $forms = gusuario_to_rel_pantallas_usuarios
	var $cant = databaseManager.getFoundSetCount(gsolucion_to_pantallas)
	for (var i = 1 ; i <= $cant ; i++)
	{
		var $form = gsolucion_to_pantallas.getRecord(i)
		
		$forms.newRecord()
		$forms.visible 			= 1
		$forms.modificable 		= 1
		$forms.nrogrupotree		= $form.nrogrupotree
		$forms.orden_aparicion	= $form.orden_aparicion
		$forms.pantalla_id		= $form.id_form
		$forms.solucion_id		= $form.id_solucion
	}
	var $grupos = gusuario_gsolucion_to_rel_grupotree_usuario
	var $cant3 = databaseManager.getFoundSetCount(gsolucion_to_grupostree)
	for (var j = 1 ; j <= $cant3 ; j++)
	{
		var $grupo = gsolucion_to_grupostree.getRecord(j)
		
		$grupos.newRecord()

		$grupos.visible 		= 1
		$grupos.nrogrupo		= $grupo.nrogrupo
	}
	databaseManager.saveData()
}
/**
 * @properties={typeid:24,uuid:"8A0EAA36-15BF-4EED-BB26-E2BD2C4084C0"}
 */
function dibujarTree()
{
	elements.tree_usuario.removeAllRoots()
	
	var bind1 = elements.tree_usuario.createBinding('fwk_navigation_infocom','rel_solucion_usuario')
	bind1.setTextDataprovider('rel_solucion_usuario_to_soluciones.texto')
	bind1.setNRelationName('rel_solucion_usuario_to_soluciones.soluciones_to_rel_grupotree_usuario')
	bind1.setChildSortDataprovider('orden')
	
	var bind2 = elements.tree_usuario.createBinding('fwk_navigation_infocom', 'rel_grupotree_usuario')
	bind2.setTextDataprovider('rel_grupotree_usuario_to_grupostree.descripcion')
	bind2.setNRelationName('rel_grupotree_usuario_to_rel_pantallas_usuarios')
	bind2.setCheckBoxValueDataprovider('visible')
	bind2.setHasCheckBoxDataprovider('globals.gUno')
	bind2.setChildSortDataprovider('orden')
	
	var bind3 = elements.tree_usuario.createBinding('fwk_navigation_infocom','rel_pantallas_usuarios')
	bind3.setTextDataprovider('rel_pantallas_usuarios_to_pantallas.texto')
	bind3.setToolTipTextDataprovider('rel_pantallas_usuarios_to_pantallas.tooltip')
	bind3.setImageMediaDataprovider('rel_pantallas_usuarios_to_pantallas.icono')
	bind3.setCheckBoxValueDataprovider('visible')
	bind3.setHasCheckBoxDataprovider('globals.gUno')
	
	elements.tree_usuario.addRoots(foundset)
}

/**
 * Callback method for when form is shown.
 *
 * @param {Boolean} firstShow form is shown first time after load
 * @param {JSEvent} event the event that triggered the action
 *
 * @properties={typeid:24,uuid:"F0E021DE-06DE-42BB-BB65-21AFF7FA1374"}
 */
function onShow(firstShow, event) {
	elements.tree_usuario.removeAllRoots()
	elements.tree_usuario.refresh()
	elements.bt_reiniciar.visible = false
}

/**
 * Perform the element default action.
 *
 * @param {JSEvent} event the event that triggered the action
 *
 * @properties={typeid:24,uuid:"92DF8482-E56B-4AF0-B88A-E27FFC2F5155"}
 * @AllowToRunInFind
 */
function copiar(event) {
	var $rta

	controller.find()
	usuario_id = globals.gUsuarioCarga
	solucion_id = globals.gSolucionCarga
	var $cant2 = controller.search() 
	if ($cant2 == 0)
	{
		$rta = globals.DIALOGS.showQuestionDialog('Aviso','El usuario actualmente no esta autorizado a entrar a esta solucion. ¿Desea autorizarlo?','Si','No')
	}
	else
	{
		$rta = globals.DIALOGS.showQuestionDialog('Aviso','El usuario ya tiene cargado un menu para esta solucion. ¿Desea sobreescribirlo?','Si','No')
	}
	if ($rta == 'Si')
	{
		var $forms = gusuario_to_rel_pantallas_usuarios
		var $modelo = gmodelo_gsolucion_to_rel_pantallas_usuarios
		var $grupos = gusuario_gsolucion_to_rel_grupotree_usuario
		
		if ($cant2 != 0)
		{
			//Borro todos los registros que ya tenia el usuario
			$forms.deleteAllRecords()
			$grupos.deleteAllRecords()
		}
		else
		{
			//Doy de alta la solucion con el usuario
			gsolucion_gusuario_to_rel_solucion_usuario.newRecord()
		}	
		
		//CARGO LOS FORMS
		var $cant = databaseManager.getFoundSetCount($modelo)
		for (var i = 1 ; i <= $cant ; i++)
		{
			var $form = $modelo.getRecord(i)
			
			$forms.newRecord()
			$forms.visible 			= $form.visible
			$forms.modificable 		= $form.modificable
			$forms.nrogrupotree		= $form.nrogrupotree
			$forms.orden_aparicion	= $form.orden_aparicion
			$forms.pantalla_id		= $form.pantalla_id
			$forms.solucion_id		= $form.solucion_id
		}
		
		//CARGO LOS GRUPOS

		var $cant3 = databaseManager.getFoundSetCount(gmodelo_gsolucion_to_rel_grupotree_usuario)
		for (var j = 1 ; j <= $cant3 ; j++)
		{
			var $grupo = gmodelo_gsolucion_to_rel_grupotree_usuario.getRecord(j)
			
			$grupos.newRecord()

			$grupos.visible 		= $grupo.visible
			$grupos.nrogrupo		= $grupo.nrogrupo
		}
		
		databaseManager.saveData()
		
		controller.find()
		usuario_id = globals.gUsuarioCarga
		solucion_id = globals.gSolucionCarga
		controller.search()
		dibujarTree()
		elements.tree_usuario.refresh()
	}
}

/**
 * Perform the element default action.
 *
 * @param {JSEvent} event the event that triggered the action
 *
 * @properties={typeid:24,uuid:"ABF42AE3-E531-4932-BC53-7BFCE36CC5BF"}
 */
function volver(event) {
	forms.main.controller.show()
}

/**
 * Perform the element default action.
 *
 * @param {JSEvent} event the event that triggered the action
 *
 * @properties={typeid:24,uuid:"37004C86-593D-46A0-B445-47D2378DCF7D"}
 * @AllowToRunInFind
 */
function reiniciarMenu(event) {
	gusuario_gsolucion_to_rel_pantallas_usuarios.deleteAllRecords()
	gusuario_gsolucion_to_rel_grupotree_usuario.deleteAllRecords()
	cargarMenu()
	controller.find()
	usuario_id = globals.gUsuarioCarga
	solucion_id = globals.gSolucionCarga
	controller.search()
	dibujarTree()
	elements.tree_usuario.refresh()
}
